package com.example.demo.redis.annotation;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

/**
 * @author zch
 * 可用于Service/Repository层的查询操作
 * 将方法返回值缓存到Redis中，并在查询时先查询Redis，再查询数据库
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface RedisCache {

    /**
     * 过期时间，默认为5
     */
    long expireTime() default 5;

    /**
     * 过期时间单位，默认为SECONDS
     */
    TimeUnit expireTimeUnit() default TimeUnit.SECONDS;

    /**
     * 使能RedisCache
     */
    boolean enable() default true;


}
